// // 引入包名
// import http from '@ohos.net.http';
// import { BusinessError } from '@ohos.base';
//
// // 每一个httpRequest对应一个HTTP请求任务，不可复用
// let httpRequest = http.createHttp();
// // 用于订阅HTTP响应头，此接口会比request请求先返回。可以根据业务需要订阅此消息
// // 从API 8开始，使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+
// httpRequest.on('headersReceive', (header: Object) => {
//   console.info('header: ' + JSON.stringify(header));
// });
//
// class ExtraData {
//   public data: string;
//
//   constructor(data: string) {
//     this.data = data;
//   }
// }
//
// class Header {
//   public contentType: string;
//
//   constructor(contentType: string) {
//     this.contentType = contentType;
//   }
// }
//
// function request(url: string, header: string, method: string, data: string) {
//   return new Promise((resolve, reject) => {
//     // 每一个httpRequest对应一个HTTP请求任务，不可复用
//     let httpRequest = http.createHttp();
//     // 用于订阅HTTP响应头，此接口会比request请求先返回。可以根据业务需要订阅此消息
//     // 从API 8开始，使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+
//     httpRequest.on('headersReceive', (header: Object) => {
//       console.info('header: ' + JSON.stringify(header));
//     });
//
//     class ExtraData {
//       public data: string;
//
//       constructor(data: string) {
//         this.data = data;
//       }
//     }
//
//     class Header {
//       public contentType: string;
//
//       constructor(contentType: string) {
//         this.contentType = contentType;
//       }
//     }
//
//     httpRequest.request(// 填写HTTP请求的URL地址，可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
//       url,
//       {
//         method: method === 'get' ? http.RequestMethod.GET : http.RequestMethod.POST, // 可选，默认为http.RequestMethod.GET
//         // 当使用POST请求时此字段用于传递内容
//         extraData: new ExtraData(data),
//         expectDataType: http.HttpDataType.STRING, // 可选，指定返回数据的类型
//         usingCache: true, // 可选，默认为true
//         priority: 1, // 可选，默认为1
//         // 开发者根据自身业务需要添加header字段
//         header: new Header(header),
//         readTimeout: 60000, // 可选，默认为60000ms
//         connectTimeout: 60000, // 可选，默认为60000ms
//         usingProtocol: http.HttpProtocol.HTTP1_1, // 可选，协议类型默认值由系统自动指定
//         usingProxy: false, //可选，默认不使用网络代理，自API 10开始支持该属性
//         caPath: '/path/to/cacert.pem', // 可选，默认使用系统预设CA证书，自API 10开始支持该属性
//         clientCert: { // 可选，默认不使用客户端证书，自API 11开始支持该属性
//           certPath: '/path/to/client.pem', // 默认不使用客户端证书，自API 11开始支持该属性
//           keyPath: '/path/to/client.key', // 若证书包含Key信息，传入空字符串，自API 11开始支持该属性
//           certType: http.CertType.PEM, // 可选，默认使用PEM，自API 11开始支持该属性
//           keyPassword: "passwordToKey" // 可选，输入key文件的密码，自API 11开始支持该属性
//         }
//       },
//       (err: BusinessError, data: http.HttpResponse) => {
//         if (!err) {
//           // data.result为HTTP响应内容，可根据业务需要进行解析
//           console.info('Result:' + JSON.stringify(data.result));
//           console.info('code:' + JSON.stringify(data.responseCode));
//           console.info('type:' + JSON.stringify(data.resultType));
//           // data.header为HTTP响应头，可根据业务需要进行解析
//           console.info('header:' + JSON.stringify(data.header));
//           console.info('cookies:' + JSON.stringify(data.cookies)); // 自API version 8开始支持cookie
//           resolve(data)
//           // 取消订阅HTTP响应头事件
//           httpRequest.off('headersReceive');
//           // 当该请求使用完毕时，开发者务必调用destroy方法主动销毁该JavaScript Object。
//           httpRequest.destroy();
//         } else {
//           console.info('error:' + JSON.stringify(err));
//           reject(JSON.stringify(err))
//           // 取消订阅HTTP响应头事件
//           httpRequest.off('headersReceive');
//           // 当该请求使用完毕时，开发者务必调用destroy方法主动销毁该JavaScript Object。
//           httpRequest.destroy();
//         }
//       });
//   })
// }
//
// export { request }

import axios from '@ohos/axios'
import { promptAction, router } from '@kit.ArkUI';

// 本地
// export const baseURL = '192.168.0.102'
// 线上
export const baseURL = '124.71.147.87'

const instance = axios.create({
  // baseURL: 'http://124.71.147.87:8001',
  baseURL: `http://${baseURL}:8001`,
});

instance.interceptors.response.use((response) => {

  if (response.data.code === 403) {
    promptAction.showToast({
      message: response.data.message
    })
    /**
     * 登录过期后回到登录页
     * 并清空手机号
     */
    AppStorage.set('phone','')
    router.replaceUrl({
      url: 'page/SignIn'
    })
    return
  }

  if (response.data.code !== 1000) {
    promptAction.showToast({
      message: response.data.message
    })

    return false
  }
  return response.data.data
}, err => {
  console.log(JSON.stringify(err))
})


export default instance